GTK_CSS_PROPERTY_COLOR,
GDK_TYPE_RGBA,
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
- GTK_CSS_AFFECTS_CONTENT | GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_SYMBOLIC_ICON,
+ GTK_CSS_AFFECTS_CONTENT | GTK_CSS_AFFECTS_SYMBOLIC_ICON,
color_parse,
color_query,
_gtk_css_color_value_new_rgba (1, 1, 1, 1));
GTK_CSS_PROPERTY_DPI,
G_TYPE_NONE,
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
- GTK_CSS_AFFECTS_FONT | GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_SIZE,
+ GTK_CSS_AFFECTS_SIZE | GTK_CSS_AFFECTS_TEXT_SIZE,
dpi_parse,
NULL,
_gtk_css_number_value_new (96.0, GTK_CSS_NUMBER));
GTK_CSS_PROPERTY_FONT_SIZE,
G_TYPE_DOUBLE,
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
- GTK_CSS_AFFECTS_FONT | GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_SIZE,
+ GTK_CSS_AFFECTS_SIZE | GTK_CSS_AFFECTS_TEXT_SIZE,
font_size_parse,
query_font_size,
_gtk_css_font_size_value_new (GTK_CSS_FONT_SIZE_MEDIUM));
GTK_CSS_PROPERTY_FONT_FAMILY,
G_TYPE_STRV,
GTK_STYLE_PROPERTY_INHERIT,
- GTK_CSS_AFFECTS_FONT | GTK_CSS_AFFECTS_TEXT,
+ GTK_CSS_AFFECTS_TEXT_SIZE,
font_family_parse,
font_family_query,
_gtk_css_array_value_new (_gtk_css_string_value_new ("Sans")));
GTK_CSS_PROPERTY_FONT_STYLE,
PANGO_TYPE_STYLE,
GTK_STYLE_PROPERTY_INHERIT,
- GTK_CSS_AFFECTS_FONT | GTK_CSS_AFFECTS_TEXT,
+ GTK_CSS_AFFECTS_TEXT_SIZE,
font_style_parse,
font_style_query,
_gtk_css_font_style_value_new (PANGO_STYLE_NORMAL));
GTK_CSS_PROPERTY_FONT_WEIGHT,
PANGO_TYPE_WEIGHT,
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
- GTK_CSS_AFFECTS_FONT | GTK_CSS_AFFECTS_TEXT,
+ GTK_CSS_AFFECTS_TEXT_SIZE,
font_weight_parse,
font_weight_query,
_gtk_css_font_weight_value_new (PANGO_WEIGHT_NORMAL));
GTK_CSS_PROPERTY_FONT_STRETCH,
PANGO_TYPE_STRETCH,
GTK_STYLE_PROPERTY_INHERIT,
- GTK_CSS_AFFECTS_FONT | GTK_CSS_AFFECTS_TEXT,
+ GTK_CSS_AFFECTS_TEXT_SIZE,
font_stretch_parse,
font_stretch_query,
_gtk_css_font_stretch_value_new (PANGO_STRETCH_NORMAL));
GTK_CSS_PROPERTY_LETTER_SPACING,
G_TYPE_NONE,
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
parse_letter_spacing,
NULL,
_gtk_css_number_value_new (0.0, GTK_CSS_PX));
GTK_CSS_PROPERTY_TEXT_DECORATION_LINE,
G_TYPE_NONE,
0,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
parse_text_decoration_line,
NULL,
_gtk_css_text_decoration_line_value_new (GTK_CSS_TEXT_DECORATION_LINE_NONE));
GTK_CSS_PROPERTY_TEXT_DECORATION_COLOR,
G_TYPE_NONE,
GTK_STYLE_PROPERTY_ANIMATED,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
color_parse,
NULL,
_gtk_css_color_value_new_current_color ());
GTK_CSS_PROPERTY_TEXT_DECORATION_STYLE,
G_TYPE_NONE,
0,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
parse_text_decoration_style,
NULL,
_gtk_css_text_decoration_style_value_new (GTK_CSS_TEXT_DECORATION_STYLE_SOLID));
GTK_CSS_PROPERTY_FONT_KERNING,
G_TYPE_NONE,
0,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
parse_font_kerning,
NULL,
_gtk_css_font_kerning_value_new (GTK_CSS_FONT_KERNING_AUTO));
GTK_CSS_PROPERTY_FONT_VARIANT_LIGATURES,
G_TYPE_NONE,
0,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
parse_font_variant_ligatures,
NULL,
_gtk_css_font_variant_ligature_value_new (GTK_CSS_FONT_VARIANT_LIGATURE_NORMAL));
GTK_CSS_PROPERTY_FONT_VARIANT_POSITION,
G_TYPE_NONE,
0,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
parse_font_variant_position,
NULL,
_gtk_css_font_variant_position_value_new (GTK_CSS_FONT_VARIANT_POSITION_NORMAL));
GTK_CSS_PROPERTY_FONT_VARIANT_CAPS,
G_TYPE_NONE,
0,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
parse_font_variant_caps,
NULL,
_gtk_css_font_variant_caps_value_new (GTK_CSS_FONT_VARIANT_CAPS_NORMAL));
GTK_CSS_PROPERTY_FONT_VARIANT_NUMERIC,
G_TYPE_NONE,
0,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
parse_font_variant_numeric,
NULL,
_gtk_css_font_variant_numeric_value_new (GTK_CSS_FONT_VARIANT_NUMERIC_NORMAL));
GTK_CSS_PROPERTY_FONT_VARIANT_ALTERNATES,
G_TYPE_NONE,
0,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
parse_font_variant_alternates,
NULL,
_gtk_css_font_variant_alternate_value_new (GTK_CSS_FONT_VARIANT_ALTERNATE_NORMAL));
GTK_CSS_PROPERTY_FONT_VARIANT_EAST_ASIAN,
G_TYPE_NONE,
0,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_TEXT_ATTRS,
+ GTK_CSS_AFFECTS_TEXT_ATTRS,
parse_font_variant_east_asian,
NULL,
_gtk_css_font_variant_east_asian_value_new (GTK_CSS_FONT_VARIANT_EAST_ASIAN_NORMAL));
GTK_CSS_PROPERTY_TEXT_SHADOW,
G_TYPE_NONE,
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
- GTK_CSS_AFFECTS_TEXT | GTK_CSS_AFFECTS_CLIP,
+ GTK_CSS_AFFECTS_TEXT_CLIP,
shadow_value_parse,
NULL,
_gtk_css_shadows_value_new_none ());
GTK_CSS_PROPERTY_CARET_COLOR,
GDK_TYPE_RGBA,
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
- GTK_CSS_AFFECTS_TEXT,
+ GTK_CSS_AFFECTS_CONTENT,
color_parse,
color_query,
_gtk_css_color_value_new_current_color ());
GTK_CSS_PROPERTY_SECONDARY_CARET_COLOR,
GDK_TYPE_RGBA,
GTK_STYLE_PROPERTY_INHERIT | GTK_STYLE_PROPERTY_ANIMATED,
- GTK_CSS_AFFECTS_TEXT,
+ GTK_CSS_AFFECTS_CONTENT,
color_parse,
color_query,
_gtk_css_color_value_new_current_color ());
* Note that multiple values can be set.
*/
typedef enum {
- GTK_CSS_AFFECTS_CONTENT = (1 << 0),
- GTK_CSS_AFFECTS_BACKGROUND = (1 << 1),
- GTK_CSS_AFFECTS_BORDER = (1 << 2),
- GTK_CSS_AFFECTS_FONT = (1 << 3),
- GTK_CSS_AFFECTS_TEXT = (1 << 4),
- GTK_CSS_AFFECTS_TEXT_ATTRS = (1 << 5),
- GTK_CSS_AFFECTS_ICON = (1 << 6),
- GTK_CSS_AFFECTS_SYMBOLIC_ICON = (1 << 7),
- GTK_CSS_AFFECTS_OUTLINE = (1 << 8),
- GTK_CSS_AFFECTS_CLIP = (1 << 9),
- GTK_CSS_AFFECTS_SIZE = (1 << 10),
- GTK_CSS_AFFECTS_POSTEFFECT = (1 << 11)
+ GTK_CSS_AFFECTS_CONTENT = (1 << 0),
+ GTK_CSS_AFFECTS_BACKGROUND = (1 << 1),
+ GTK_CSS_AFFECTS_BORDER = (1 << 2),
+ GTK_CSS_AFFECTS_TEXT_ATTRS = (1 << 4),
+ GTK_CSS_AFFECTS_TEXT_SIZE = (1 << 5),
+ GTK_CSS_AFFECTS_TEXT_CLIP = (1 << 6),
+ GTK_CSS_AFFECTS_ICON = (1 << 7),
+ GTK_CSS_AFFECTS_SYMBOLIC_ICON = (1 << 8),
+ GTK_CSS_AFFECTS_OUTLINE = (1 << 9),
+ GTK_CSS_AFFECTS_CLIP = (1 << 10),
+ GTK_CSS_AFFECTS_SIZE = (1 << 11),
+ GTK_CSS_AFFECTS_POSTEFFECT = (1 << 12)
} GtkCssAffects;
#define GTK_CSS_AFFECTS_REDRAW (GTK_CSS_AFFECTS_CONTENT | \
GTK_CSS_AFFECTS_OUTLINE | \
GTK_CSS_AFFECTS_POSTEFFECT)
+#define GTK_CSS_AFFECTS_TEXT (GTK_CSS_AFFECTS_TEXT_SIZE | \
+ GTK_CSS_AFFECTS_TEXT_CLIP)
+
+
enum { /*< skip >*/
GTK_CSS_PROPERTY_COLOR,
GTK_CSS_PROPERTY_DPI,
if (widget->priv->context)
{
GtkCssStyleChange *change = gtk_style_context_get_change (widget->priv->context);
- gboolean has_text = gtk_widget_peek_pango_context (widget) != NULL;
+ const gboolean has_text = gtk_widget_peek_pango_context (widget) != NULL;
- if (change == NULL ||
- (has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_FONT)))
+ if (has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT))
gtk_widget_update_pango_context (widget);
if (widget->priv->anchored)
{
if (change == NULL ||
gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_SIZE) ||
- (has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT)))
- gtk_widget_queue_resize (widget);
- else if (gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_CLIP))
- gtk_widget_queue_allocate (widget);
+ (has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT_SIZE)))
+ {
+ gtk_widget_queue_resize (widget);
+ }
+ else if (gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_CLIP) ||
+ (has_text && gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_TEXT_CLIP)))
+ {
+ gtk_widget_queue_allocate (widget);
+ }
else if (gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_REDRAW))
- gtk_widget_queue_draw (widget);
+
+ {
+ gtk_widget_queue_draw (widget);
+ }
}
}
else